package manager.service;

import manager.dao.StudentDao;
import manager.domain.Student;

public class StudentService {


    public static boolean isExsiti(String id) {

        // 4.创建Student[]数组获取存取储存的学生对象的数组调用内部find All Students方法
        Student[] student = StudentDao.findAllStudent();
        //假设这元素在数组中不存在
        boolean num = false;
        // 5.遍历数组的获取每一个学生对象判断学号是否存在
        for (int i = 0; i < student.length; i++) {
            //把数组索引赋值给学生对象
            Student Stu = student[i];
            //使用equals方法判断新录入的值与数组里的值是否相等
            if (Stu != null && Stu.getId().equals(id)) {
                //相同就把true返回给boolean变量
                num = true;
                break;
            }

        }
        // 6.返回变量
        return num;
    }

    public static Student[] findAllStudent() {

        //1.调用库管中的以数组对象接收findAllStudent方法获取学生对象数组
        Student[] stu = StudentDao.findAllStudent();
        //创建boolean变量默认false
        boolean flg = false;
        // 2.遍历数组并判断数组中是否有学生信息   (有返回数组地址break结束没有返回null)

        for (int i = 0; i < stu.length; i++) {
            Student stus = stu[i];
            if (stus != null) {
                flg = true;
                break;
            }
           //再判断变量为true返回库管数组 ,为false返回null



        }
        if (flg) {
         return stu;
        }else{
            return null;
        }

        // 3.只要数组中存在一个不为null的元素那就证明要学生信息

        //  4.先定义一个false的变量然后遍历数组把判断不为null的结果以boolean类型赋值给定义的变量break退出
        //  5.最后判断把变量为true的结果return allStudent;给外界,false就retrun null给外界

    }



    public static void DeletStudent(String next) {
        // 1.调用ServicesStudents中的 DeleteStudent方法把接收到的ID继续传给库管(先调用再创建)

         StudentDao.DeleteStudent(next);
    }

    public static void UpdateStudent(String next, Student newstudent) {
        // 1.调用ServicesStudents中的 UpdateStudent方法把接收到的两个ID信息继续传给库管(先调用再创建)
        StudentDao.UpdateStudent(next,newstudent);

    }


    //添加学生方法
    public boolean addStudent(Student stut) {
        //创建库管对象
        StudentDao studentDao = new StudentDao();
        //返回库管的boolean信息给前台
        return studentDao.addStudent(stut);
    }

    //删除方法(直接调用库管中的方法<先调用再定义>)


}
